Content addressable memory arrays are widely used in applications where extremely fast searching of data is required. For instance, these arrays may be used for fast addressing of a database. Content addressable memory arrays can compare an input search data (tag) against a table of stored data and return an address of a matching data in the database. In contrast to dynamic random access memory (DRAM), where each cell consists of a single transistor and a single capacitor, the content addressable memory arrays include a whole set of transistors performing data write and data compare functions in parallel. Further, the memory cells of the content addressable memory arrays are united by a plurality of various logical gates for performing logical functions on match results generated by each of the content addressable memory cells. Thus, in contrast to DRAM memory the content addressable memory arrays require optimum layout of various components of these arrays.